Field of the Invention
The present invention relates to a method for testing a program-controlled unit by an external test device.
Program-controlled units such as, for example, microprocessors, microcontrollers and signal processors, but also other modules containing integrated circuits are usually tested after their production.
The initiation or the performance of such tests, and the evaluation of the test results obtained in the process, are generally effected by an external test device.
There are a number of possibilities for testing the program-controlled unit by the external test device.
A first possibility consists in the external test device applying to input and/or output terminals of the module to be tested specific signals or signal sequences which stimulate the circuit contained in the module or specific parts of the circuit, and registering the conditions established as a reaction to this at the input and/or output terminals, comparing them with defined desired reactions, and, depending on the comparison result, defining whether or not the module is fault-free.
Such a test method has a whole series of disadvantages. One of the disadvantages is that it is difficult to determine suitable signals or signal sequences, which stimulate the module to be tested, and the desired reactions thereto. This is generally done using a simulation program, but it must additionally be taken into account that even modules which can be classified as fault-free behave differently to a certain extent, for example do not have exactly the same signal propagation times. Both the simulation of the module behavior and the taking account of permissible tolerances are very complicated and costly.
A further disadvantage of the test method mentioned above is that the external test devices occasionally cannot operate rapidly enough to be able to perform the test at the maximum operating frequency of the module to be tested. In other words it has to be accepted that the module, even though it has been classified as fault-free, nonetheless does not operate in a fault-free manner in practice.
A further possibility for the testing of a program-controlled unit or of some other module by an external test device consists in integrating into the module a self-test device by which the module can test individual, a plurality or all of the components itself. Such self-test devices are, for example, the so-called built-in-self-test (BIST) modules. When the BIST module is present in the module to be tested, the task of the external test device can at least partly be restricted to an initiation of the test by the BIST module and the evaluation of the test results supplied by the BIST module. However, BIST modules can only test specific modules or module components such as, for example, memory modules, with the result that, at least in the case of program-controlled units, it is still necessary to make use of the first test method described above. Irrespective of this, the presence of BIST modules also requires a high outlay. An additional hardware component is involved, as a result of which the modules equipped therewith are made larger and have a more complicated construction than modules without BIST modules. Furthermore, BIST modules cannot be used flexibly: alterations to the test or test sequence performed by the BIST module can only be realized by a correspondingly altered BIST module, which is associated with a considerable outlay in respect of costs and time.
A further possibility for testing the program-controlled unit or of some other module by the external test device consists in the performance of a so-called scan test. However, scan tests do not enable a complete test; one or more of the tests mentioned above additionally have to be performed.